package com.zhai.domain.rebate.repository;

import com.zhai.domain.rebate.model.aggregate.BehaviorRebateAggregate;
import com.zhai.domain.rebate.model.entity.BehaviorEntity;
import com.zhai.domain.rebate.model.entity.BehaviorRebateOrderEntity;
import com.zhai.domain.rebate.model.valobj.BehaviorTypeVO;
import com.zhai.domain.rebate.model.valobj.DailyBehaviorRebateVO;
import org.springframework.stereotype.Repository;

import java.util.List;

/**
 * @Description: 行为返利仓储接口
 * @ClassName: IBehaviorRebateRepository
 * @Author: zhaiyongxin
 * @Date: 2025/5/27 13:36
 * @Version: 1.0
 */
public interface IBehaviorRebateRepository {

    /**
     * 查询日常行为返利配置列表
     * @param behaviorTypeVO
     * @return
     */
    List<DailyBehaviorRebateVO> queryDailyBehaviorRebateConfig(BehaviorTypeVO behaviorTypeVO);

    /**
     * 保存用户行为返利订单
     * @param userId
     * @param behaviorRebateAggregates
     */
    void saveUserRebateRecord(String userId, List<BehaviorRebateAggregate> behaviorRebateAggregates);

    List<BehaviorRebateOrderEntity> queryOrderByOutBusinessNo(String userId, String outBusinessNo);
}
